
"use client"

import axios from 'axios'
// import {  message  } from 'antd';
import {  message } from 'antd';

// import { useTranslation } from 'react-i18next';
import i18n from 'i18next'; // 假设你的i18next实例是这样导出的

const service = axios.create({
    baseURL: process.env.NEXT_PUBLIC_APIURL,
    timeout: 20000,
})

// 添加请求拦截器
service.interceptors.request.use(
    (config: any) => {
        return config
    },
    (error: any) => {
        return Promise.reject(error)
    }
)

// 添加响应拦截器
service.interceptors.response.use(
    (response: { data: any }) => {
        const result = response.data
        // const { t } = useTranslation();
        if (result.code !== 0) {
            // message.error(result.message);
            // return Promise.reject();
            const megCode = {
                '1000': i18n.t('request.error.msg.1000'),
                '1001': i18n.t('request.error.msg.1001'),
                '1002': i18n.t('request.error.msg.1002'),
                '1003': i18n.t('request.error.msg.1003'),
                '1004': i18n.t('request.error.msg.1004'),
                '1005': i18n.t('request.error.msg.1005'),
                '1006': i18n.t('request.error.msg.1006'),
                '1007': i18n.t('request.error.msg.1007'),
                '1008': i18n.t('request.error.msg.1008'),
                '1009': i18n.t('request.error.msg.1009'),
                '1010': i18n.t('request.error.msg.1010'),
                '1200': i18n.t('request.error.msg.1200'),
            }

            message.open({
                type: 'error',
                content: megCode[result.code+''],
            });


            return result;
        } else {

            return result
        }
    },
    (error: any) => {
        // message.error(error.response.data.message);

        return Promise.reject(error)
    }
)


export default service






